package com.lyeducation.services.order;

import com.lyeducation.controllers.dto.OrderCancelDTO;
import com.lyeducation.controllers.dto.OrderDTO;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

/**
 * @InterfaceName OrderService
 * @Description
 * @Author Sky1in3
 * @Date 2019/1/11 18:10
 * @Version 1.0
 */
public interface OrderService {

    /**
     * @Author Sky1in3
     * @Description 查询单个订单
     * @Date 2019/1/12 18:42
     * @Param [orderId]
     * @return com.lyeducation.controllers.dto.OrderDTO
     */
    OrderDTO findOne(String orderId);

    /**
     * @Author Sky1in3
     * @Description 取消订单
     * @Date 2019/1/12 18:56
     * @Param
     * @return
     */
    OrderCancelDTO cancel(String orderId);

    /**
     * @Author Sky1in3
     * @Description 完结订单
     * @Date 2019/1/12 18:57
     * @Param [orderDTO]
     * @return com.lyeducation.controllers.dto.OrderDTO
     */
    OrderDTO finish(String orderId);

    /**
     * @Author Sky1in3
     * @Description 查询订单列表
     * @Date 2019/1/12 22:13
     * @Param [pageable]
     * @return org.springframework.data.domain.Page<com.lyeducation.controllers.dto.OrderDTO>
     */
    Page<OrderDTO> findList(Pageable pageable);

    /**
     * 退款审核列表
     *
     * @return org.springframework.data.domain.Page<com.lyeducation.controllers.dto.OrderDTO>
     * @Param [pageable]
     */
    Page<OrderDTO> refundReview(Pageable pageable);

    /**
     * 退款审核通过
     *
     * @return java.lang.String
     * @Param [orderId]
     */
    String refundPassed(String orderId);

    /**
     * 拒绝退款
     *
     * @return
     * @Param
     */
    String refundRefuse(String orderId);
}
